For different software/firmware applications, the intended purpose and the degree of user input needed may vary across a wide spectrum. These applications can use at least one of two types of input by a human operator: (1) text input, and (2) spatial input. Spatial input translates to control signals that can include defining the x-y coordinates of a mouse cursor, the direction in which a character should move in a game, the orientation and zoom level of a 3D object in a computer aided design (CAD) package or the like.